The Cartesian coordinate system enables a visualization of two and three dimensional data and interrelationships therebetween. When, however, a data set exceeds three dimensions, special presentations have been developed to enable its presentation. Such a data set is termed multi-variate and may include a relatively large number of variables, with each variable having a large number of data points. Merely looking at the data points, per se, reveals little or no information concerning trends or correlations. Analysis of the data, as it stands, to uncover interrelationships by using traditional statistical methods is both tedious and time consuming.
Inselberg et al. have developed a system for displaying multi-variate data sets on a system of parallel coordinates which enables a visualization of a data set in such a manner as to enable the viewer to arrive at an understanding of interrelationships therebetween. (See "Parallel Coordinates: Survey Of Recent Results" SPIE vol 1913, pages 582-599 1993). A parallel coordinate system comprises a series of parallel lines that are placed equidistantly and perpendicular to the x-axis of a coincident Cartesian coordinate system. The initial parallel coordinate is normally placed coincident with the y Cartesian axis. Each parallel axis is assigned a specific dependent variable and dependent variable values are plotted along the respective axis. The independent variable is represented by a polygonal line which connects the corresponding dependent variable values relating to the independent variable. In short, a mapping occurs between N-dimensional and two dimensional sets of data for any value of N. The two dimensional sets of data are represented by adjacent, succeeding parallel axes.
The parallel coordinate system will be better understood by referring to Table 1 below which, as an example, plots per capita protein consumption in 25 European countries (grams per head per day).
TABLE 1 __________________________________________________________________________ European protein consumption (grams per head per day) Starchy Nuts Fruits Meat Pigs Eggs Milk Cereals Foods Pulses Vegs __________________________________________________________________________ Albania 10.1 1.4 0.5 8.9 0.2 42.3 0.6 5.5 Austria 8.9 14.0 4.3 19.9 2.1 28.0 3.6 1.3 Belgium 13.5 9.3 4.1 17.5 4.5 26.6 5.7 2.1 Bulgaria 7.8 6.0 1.6 8.3 1.2 56.7 1.1 3.7 Czechoslovakia 9.7 11.4 2.8 12.5 2.0 34.3 5.0 1.1 Denmark 10.6 10.8 3.7 25.0 9.9 21.9 4.8 0.7 E. Germany 8.4 11.6 3.7 11.1 5.4 24.6 6.5 0.8 Finland 9.5 4.9 2.7 33.7 5.8 26.3 5.1 1.0 France 18.0 9.9 3.3 19.5 5.7 28.1 4.8 2.4 Greece 10.2 3.0 2.8 17.6 5.9 41.7 2.2 7.8 Hungary 5.3 12.4 2.9 9.7 0.3 40.1 4.0 5.4 Ireland 13.9 10.0 4.7 25.8 2.2 24.0 6.2 1.6 Italy 9.0 5.1 2.9 13.7 3.4 36.8 2.1 4.3 Netherlands 9.5 13.6 3.6 23.4 2.5 22.4 4.2 1.8 Norway 9.4 4.7 2.7 23.3 9.7 23.0 4.6 1.6 Poland 6.9 10.2 2.7 19.3 3.0 36.1 5.9 2.0 Portugal 6.2 3.7 1.1 4.9 14.2 27.0 5.9 4.7 Romania 6.2 6.3 1.5 11.1 1.0 49.6 3.1 5.3 Spain 7.1 3.4 3.1 8.6 7.0 29.2 5.7 5.9 Sweden 9.9 7.8 3.5 24.7 7.5 19.5 3.7 1.4 Switzerland 13.1 10.1 3.1 23.8 2.3 25.6 2.8 2.4 United 17.4 5.7 4.7 20.6 4.3 24.3 4.7 3.3 Kingdom USSR 9.3 4.6 2.1 16.6 3.0 43.6 6.4 3.4 W. Germany 11.4 12.5 4.1 18.8 3.4 18.6 5.2 1.5 Yugoslavia 4.4 5.0 1.2 9.6 0.6 55.9 3.0 5.7 __________________________________________________________________________
The parallel coordinate representation of data shown in Table 1 is illustrated in FIG. 1 wherein each country is represented by a polygonal line and each parallel coordinate axis measures a different protein consumption. By following each polygonal line from coordinate axis to coordinate axis, the pattern of protein consumption for each country (i.e., independent variables) can thus be visualized and interrelationships determined.
FIG. 1 is representative of one presentation of dependent variables along the parallel coordinate axes and those skilled in the art will realize that many dependent variable presentations are available for different independent variable inputs. FIG. 1 illustrates, however, that a parallel coordinate system can become "crowded" when a multiplicity of independent variables are presented. A method is needed for differentiating specific independent variables that are shown on a parallel coordinate presentation. Further, the relationship of polygonal lines on a parallel coordinate system to a Cartesian coordinate representation of adjacent, related data is not immediately apparent to the unsophisticated user. While it is known that a pair of adjacent, parallel coordinate axes in the parallel coordinate system have a direct transformation into the Cartesian coordinate system, the Cartesian coordinate representation is often unexpected.
In FIGS. 2-5 corresponding Cartesian and parallel coordinate data sets are indicated. In FIG. 2, a line 10 is shown having a positive slope which passes through data points a and b. Data point a has a coordinate value of x.sub.1 x.sub.2 and data point b has a coordinate value of x.sub.3, x.sub.4. In FIG. 2a, parallel coordinates are illustrated showing of the cartesian representation of FIG. 2. Note that point b in FIG. 2 appears in the parallel coordinate system of FIG. 2a as a polygonal line extending between parallel coordinate axes X.sub.1 and X.sub.2, between coordinate values x.sub.3 and x.sub.4, respectively. In a similar fashion, data point a in FIG. 2 appears as a polygonal line extending between parallel coordinate axes X.sub.1 and X.sub.2 between data values x.sub.1 and x.sub.2. Note that the point of interception between lines a and b in FIG. 2a is external to the space between parallel coordinate axes X1 and X2.
In FIG. 3, a negatively sloping line 12 is shown between data points a and b. Note that in FIG. 3a, the line corresponding to point a in FIG. 3 extends between parallel coordinate axes X1 and X2 between values x.sub.1 (on parallel axis X.sub.1) to value x.sub.2 (on parallel coordinate axis X.sub.2). In a similar fashion, point b in FIG. 3 is represented by a line between values x.sub.3 and x.sub.4 on parallel coordinate axes X.sub.1, X.sub.2, respectively. Intersection point 13 between lines a and b in FIG. 3a defines the data point in the parallel coordinate system which represents line 12 in the Cartesian coordinate system of FIG. 3. Thus, it can be seen that a point in the Cartesian coordinate system is represented as a line in the parallel coordinate system and vice-versa.
In FIG. 4, a pair of parallel lines 14 and 15 are illustrated in the Cartesian coordinate system. The representation of data points a, b, c and d in the parallel coordinate system are shown in FIG. 4a. Note that the points of intersection 16 and 17, respectively between polygonal lines a, b and between c, d are vertically aligned and positioned between axes X1 and X2--illustrating that parallel lines 14 and 15 have negative slopes. If parallel lines 15 and 16 had positive slopes, points of intersection 16, 17 would be aligned but would be external to the space between axes X1 and X2.
In FIG. 5, a line 19 between points a and b and the adjacent parallel dotted lines are represented by the equation C.sub.1 x.sub.1 +C.sub.2 x.sub.2 .ltoreq.C.sub.O. That equation defines a "half space" that includes and is below line 19. In FIG. 5a, the intersection of polygonal lines a and b illustrate a point ab that is representative of line 19 in FIG. 5. The remaining intersection points 20 are representative of each of the parallel dashed lines within the half space of FIG. 5.
From a review of FIGS. 2-5, it can be seen that the unsophisticated user will initially have difficulty in making a transition between data set values shown in a parallel coordinate system and the same data set values shown in a Cartesian coordinate system.
Accordingly, it is an object of this invention to provide a graphical interface that enables a user to select and emphasize a specific subset of data values shown in a parallel coordinate system.
It is another object of this invention to provide a graphical interface which enables the user to select a subset of data points shown in a parallel coordinate system and to automatically illustrate the subset of data points in a Cartesian coordinate system.
It is another object of this invention to provide a graphical interface which enables a user to select a variety of data subsets that are shown in a parallel coordinate system for either individual visualization or translation to a further coordinate system.